package nci60.data.connected
import nci60.data.protein.Protein
import nci60.data.maxquant.Project
import nci60.data.maxquant.proteingroup.ProteinGroup

/**
 * This class connects the general protein information with the protein identifications of an MaxQuant analysis <p />
 * Only the leading proteins of an protein group are considered as real identifications and stored in {@link nci60.data.connected.LeadingProtein}
 *
 * @autor <a href="mailto:Florian.J.Auer@googlemail.com">Florian J. Auer</a>
*/
class IdentifiedProtein {

    /**
     * The identified protein
     * @see nci60.data.protein.Protein
     */
    Protein protein
    
    /**
     * Protein group information from which the connection is derived
     * @see nci60.data.maxquant.proteingroup.ProteinGroup
     */
    ProteinGroup group
    
    /**
    * reference to the analysis it belongs to <p />
    * @see nci60.data.maxquant.Project
    */
    Project currentProject


    /**
     * GRAILS <a href="http://grails.org/doc/latest/guide/single.html#constraints" target="_blank">Declaring Constraints</a>
     * <p />
     * Constraints in Grails are a way to declaratively specify validation rules for generating objects in GORM.
     */	
    static constraints = {
    }
}
